package com.example.administrator.ouyangji;

import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.example.administrator.ouyangji.utils.SPreadOrWrite;
import com.example.administrator.ouyangji.view.BottomView;


public class MainActivity extends AppCompatActivity {
    private long exitTime=0;
    private BottomView bottomView;

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //当主界面用回跳机制跳到另外一个界面，另外一个界面处理完毕后，跳回来，自动执行这个方法
        if(requestCode==8888&&data!=null){
            //这个条件成立表示，跳出去是从下面MyInfoView的68行跳出去的
//            1、点击登录文字，修改成用户名
            bottomView.setLoginStatus(data.getStringExtra("userName"));
//            2、保存登录状态到sp文件中
            SPreadOrWrite.saveLoginStatus(this,data.getStringExtra("userName"));
        }
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //当用户单击物理按键时，该方法的代码自动执行
        //keyCode:用户按下的键
        //event：用户的动作：按下，弹出，
        if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){
            //该条件成立，表示用户按下了返回键
            long currentTime=System.currentTimeMillis();//返回到时现在距离1900年1月1号0:0:0:0为0的毫秒数
            if(currentTime-exitTime>2000){
                //不管本次按键是否是第几次，反正与前一次按键隔得太久，认为本次就是第一次按键
                Toast.makeText(this,"再次按键就退出系统",Toast.LENGTH_LONG).show();
                exitTime=currentTime;
            }else {//要退出app
                //销毁主界面、清除登录状态、退出app,下次启动app的时候为未登录状态
                this.finish();

                if(SPreadOrWrite.readLoginStatus(this)){//如果已经登录，退出app，设置为未登录保存到sp,下次登录时就为未登录
                    SPreadOrWrite.clearLoginStatus(this);
                }
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //动态布局这里只加载底部导航栏，底部导航栏里面的构造方法中再去加载标题栏和中间的内容
        bottomView=new BottomView(this);
        LinearLayout mian_bottom_bar=findViewById(R.id.mian_bottom_bar);
        mian_bottom_bar.addView(bottomView.getView());

    }


    @Override
    protected void onDestroy() {
        if(SPreadOrWrite.readLoginStatus(this)){//如果已经登录，退出app，设置为未登录保存到sp,下次登录时就为未登录
            SPreadOrWrite.clearLoginStatus(this);
        }
        super.onDestroy();

    }
}
